package com.example.healthmanagement.utils;

import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.example.healthmanagement.entity.ChildInformation;
import com.example.healthmanagement.pojo.Childinformationtable;
import com.example.healthmanagement.pojo.DTO.userFood;

import java.util.List;

public class formulaUtil {

//    男童：每日所需热量（千卡）= (体重（kg）× 30) + (身高（cm）× 0.6) - (年龄× 7.1) + 250
//    女童：每日所需热量（千卡）= (体重（kg）× 30) + (身高（cm）× 0.6) - (年龄× 7.1) + 200

    /**
     * 返回热量
     * @param childInformation
     * @return
     */
    public static double getHeat(Childinformationtable childInformation, String sex){

        if (childInformation.getSex().equals("男") )
            return childInformation.getHeight() * 30 + childInformation.getWeight() * 0.6 - childInformation.getAge() * 7.1 + 250;
        return childInformation.getHeight()*30+childInformation.getWeight()*0.6-childInformation.getAge()*7.1+200;

    }
    /**
     * BMI值
     *  身体质量指数(BMI) < 18.5: 低于正常体重
     *  身体质量指数(BMI) >= 18.5 以及 < 25: 正常体重
     *  身体质量指数(BMI) >= 25 以及 < 30: 超重
     *  身体质量指数(BMI) >= 30 以及 < 35: 一类肥胖
     *  身体质量指数(BMI) >= 35 以及 < 40: 二类肥胖
     *  身体质量指数(BMI) >= 40: 三类肥胖
     */
     public static String getBmi(double bmi){

        class KeyClass {
            double value;
            String key;

            KeyClass(double value,String key){
                this.value = value;
                this.key = key;
            }
        }
        KeyClass[] arr = {
                new KeyClass(0,"低于正常体重"),
                new KeyClass(18.5,"正常体重"),
                new KeyClass(25,"超重"),
                new KeyClass(30,"一类肥胖"),
                new KeyClass(35,"二类肥胖"),
                new KeyClass(40,"三类肥胖")
        };

        for(int i = 0; i < arr.length; i++){
            if (arr[i].value<=bmi){
                return arr[i].key;
            }
        }

        return "低于正常体重";
    }
    public static String recommendExercise(int age) {
        if (age >= 3 && age <= 6) {
            return "适合的运动方案:户外游戏、舞蹈、游泳、亲子体育活动。";
        } else if (age >= 7 && age <= 12) {
            return "适合的运动方案:球类运动、体操、自行车骑行、轻度力里训练。";
        } else if (age >= 13 && age <= 17) {
            return "适合的运动方案:跑步和慢跑、团体运动、游泳、青少年瑜伽、个性化运动。";
        } else {
            return "年龄不在建议范围内。";
        }

    }

//    public static void main(String[] args) {
//
//        String str="[{\"energy\":200,\"foodName\":\"鸡排\",\"id\":3,\"number\":2},{\"energy\":20,\"foodName\":\"鸡胸肉\",\"id\":4,\"number\":1},{\"energy\":100,\"foodName\":\"土豆\",\"id\":1,\"number\":1},{\"energy\":200,\"foodName\":\"鸡排\",\"id\":3,\"number\":2}]";
//        List<userFood> jsonArray =  JSON.parseArray(str,userFood.class);
//        jsonArray.forEach(item->{
//            System.out.println(item.getFoodName());
//        });
//        }
//
//
//
}
